﻿using System;

using Finance.Entites;
using Finance.Service.Interfaces;
using Finance.Service.Implements;

namespace Finance.Service.Factory
{
    public class MockDataStoreFactory : IDataFactory
    {
        public IDataStore<TEntity> GetDataStore<TEntity>()
        {
            return new JsonDataStore<TEntity>();
        }

        public IDataStore<Account> GetAccountDataStore()
        {
            return new MockAccountDataStore();
        }

        public IDataStore<Charge> GetChargeDataStore()
        {
            return new MockChargeDataStore();
        }

        public IDataStore<PayoutClassification> GetPayoutClassificationDataStore()
        {
            return new MockPayoutClassificationDataStore();
        }

        public IDataStore<IncomeClassification> GetIncomeClassificationDataStore()
        {
            return new MockIncomeClassificationDataStore();
        }

        public IDataStore<Project> GetProjectDataStore()
        {
            return new MockProjectDataStore();
        }

        public IDataStore<Trader> GetTraderDataStore()
        {
            return new MockTraderDataStore();
        }


        public IDataStore<Setting> GetSettingDataStore()
        {
            return new MockSettingDataStore();
        }
    }
}
